{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "746cb870",
   "metadata": {},
   "source": [
    "1. 值类型\n",
    "- 无符号:byte, ushort, uint,ulong\n",
    "- 有符号 :sbyte, short, int, long\n",
    "- 浮点数:float, double, decimal\n",
    "- 特殊:char, bool\n",
    "- 枚举: enum\n",
    "- 结构体:struct\n",
    "\n",
    "2. 引用类型\n",
    "- string\n",
    "- 数组\n",
    "- class\n",
    "- interface\n",
    "- 委托\n",
    "\n",
    "3. 值类型和引用类型的本质区别:值的具体内容在栈上,引用的具体内容在堆内存上\n",
    "\n",
    "4. 结构体中的值和引用\n",
    "    - 结构体本身是值类型,前提是该结构体没有作为其他类的成员\n",
    "    - 在结构体中的值:栈中存储具体的内容\n",
    "    - 在结构体中的引用:堆中存储引用具体的内容\n",
    "\n",
    "5. 类中的值和引用\n",
    "    - 类中的值, 堆存储具体的值 \n",
    "    - 类中的引用, 堆中存储具体的值(引用变量也存储在堆中) \n",
    "\n",
    "6. 数组中的存储规则: 数组本身是引用类型\n",
    "    - 值类型数组,堆中存具体内容\n",
    "    - 引用类型,堆中存引用的地址,这个地址指向堆中的引用内容\n",
    "\n",
    "7. 结构体继承接口\n",
    "    - 利用里式替换原则,用接口装载结构体存在装箱拆箱"
   ]
  }
 ],
 "metadata": {
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
